// pages/center/center.js
//
//定义请求方法
const req = require("./req.js")
//接口路径
import api from './api'
let flag = true; //用于判断 上拉(F)还是下拉(T):保留
Page({
  // 
  /**
  //  * 
   * 页面的初始数据
   */
  data: {
    swiperImg:[],
    chooseShow:true,
    goodsList:[],
    tabList:['全部','电脑','家居用品'],
    tabActive:0,
    pageSize: 10 ,
    pageIndex: 1,
    dataMore:true, //判断是否有更多数据
  },
  //跳转详情
    


  //扫码
  scanCode:function(){
    wx.scanCode({
      success (res) {
        console.log(res);
        wx.navigateTo({
          url: '../detail/detail?data='+res.result,
        })
      }
    })
  },

  //tab切换方法
    changeTab:function(e){
      // console.log(e);
      let that = this;
      let tabIndex = e.currentTarget.dataset.index;//获取类型值

      //切换对应的数据
      this.getGoodsList(true,tabIndex)
      this.setData({
        tabActive:tabIndex
      })
    },


  //请求轮播图数据方法
   getImg:function(){
    let that = this;
    //调用封装好的请求
    // req._get(api.swiper).then((res)=>{
    //   console.log(res)
    //   that.setData({
    //     swiperImg:res.data.list
    //   })
    // })
    req._get(api.swiper).then(res=>{
      console.log(res);
      try{
        if(res.data.list.length!=0){
          that.setData({
            swiperImg:res.data.list
          })
        }
      }catch(err){
        that.setData({
            swiperImg:[{ img :"https://static.iyingdi.cn/2020/06/26/1e043025-cf78-4798-b687-7c37b0223d5e.jpg", url: '../login/login'}]
        })
      }
    })
    
   },
     //请求商品列表的方法
     getGoodsList:function(flag,type){
      let that = this;
      let param = {};//接受前端传参 : 字段:pageSize pageIndex
      if(flag){  //下拉时: 请求第一页数据  清空之前的数据  将pageIndex置为1
        param={
          pageSize:10,
          pageIndex:1,
          kind:type
        };
        that.setData({
          goodsList:[],
          pageIndex:1,
        })
      }else{
        param={//上拉时 请求下一页(pageIndex)的数据 将pageIndex置为当前页码  
          pageIndex:that.data.pageIndex+1, //每次上拉触底的时候页码+1 请求下一页的数据
          pageSize: 10,
          kind:type
        };
        that.setData({
          pageIndex: that.data.pageIndex +1 //每次渲染下一页数据之后需要将data理的pageIndex 修改成当前的页面 方便下一次上拉处理
        })
      }
      //调用封装好的请求
        req._post(api.goodsList, param).then((res)=>{
          //判断是否加载完全部数据
        if(res.data.list.length == 0 ){
          that.setData({
            dataMore:false
          })
        }else{
          that.setData({
            dataMore:true,
            goodsList:that.data.goodsList.concat(res.data.list)            
          });
          wx.setStorage({
            //本地存储 (同步)
            data: that.data.goodsList,
            key: 'key',
          })
        }
          console.log(res.data.list);
          // //拼接封装好的请求
          // that.setData({ 
          //   goodsList:that.data.goodsList.concat(res.data.list)
          // });
          //请求成功之后 将刷新停止   loading 停止
          wx.stopPullDownRefresh();
          wx.hideLoading();
        })
     },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.getGoodsList(flag);
    this.getImg();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    // setTimeout(()=>{
    //   console.log('x下拉了');
    //   this.getGoodsList();
    //   //停止用户下拉动作
    //   wx.stopPullDownRefresh()
    // },2000)
    flag = true;
    this.getGoodsList(flag,this.data.tabActive);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log("到底了");
    let that = this;
    flag = false;
    if(that.data.dataMore){
      wx.showLoading({
        title:'加载中'
      });
      this.getGoodsList(flag,this.data.tabActive);
    }else{
      wx.showToast({
        title:'没有更多',
        icon:'none'
      })
    }
    // this.getGoodsList(flag,this.data.tabActive);
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})